草庐IT

反射简化 JDBC ResultSet

全部标签

c# - 如何通过反射检查属性是否为虚拟属性?

给定一个对象,我如何判断该对象是否具有虚拟属性?varentity=repository.GetByID(entityId);我尝试查看:PropertyInfo[]properties=entity.GetType().GetProperties();但无法辨别是否有任何属性表示虚拟。 最佳答案 PropertyInfo[]properties=entity.GetType().GetProperties().Where(p=>p.GetMethod.IsVirtual).ToArray();或者,对于.NET4及以下版本:Pro

c# - 通过反射遍历类型时如何过滤掉 <>c_DisplayClass 类型?

我正在尝试创建一个单元测试,以确保我的所有业务类(我称它们为命令和查询类)都可以使用Windsor进行解析。我有以下单元测试:[TestMethod]publicvoidWindsor_Can_Resolve_All_Command_And_Query_Classes(){//SetupAssemblyasm=Assembly.GetAssembly(typeof(IUnitOfWork));IListclassTypes=asm.GetTypes().Where(x=>x.Namespace.StartsWith("MyApp.DomainModel.Commands")||x.Na

c# - 通过反射遍历类型时如何过滤掉 <>c_DisplayClass 类型?

我正在尝试创建一个单元测试,以确保我的所有业务类(我称它们为命令和查询类)都可以使用Windsor进行解析。我有以下单元测试:[TestMethod]publicvoidWindsor_Can_Resolve_All_Command_And_Query_Classes(){//SetupAssemblyasm=Assembly.GetAssembly(typeof(IUnitOfWork));IListclassTypes=asm.GetTypes().Where(x=>x.Namespace.StartsWith("MyApp.DomainModel.Commands")||x.Na

c# - 如何隐式转换反射方法调用

我有一个Thing类,它可以从string隐式转换。当我直接调用带有Thing参数的方法时,从string到Thing的转换正确完成。但是,如果我使用反射来调用相同的方法,它会抛出异常System.ArgumentException:Objectoftype'System.String'cannotbeconvertedtotype'Things.Program+Thing'.也许这有一个很好的理由,但我想不通。有人知道如何使用反射来实现这一点吗?namespaceThings{classProgram{publicclassThing{publicstringSome;publics

c# - 如何隐式转换反射方法调用

我有一个Thing类,它可以从string隐式转换。当我直接调用带有Thing参数的方法时,从string到Thing的转换正确完成。但是,如果我使用反射来调用相同的方法,它会抛出异常System.ArgumentException:Objectoftype'System.String'cannotbeconvertedtotype'Things.Program+Thing'.也许这有一个很好的理由,但我想不通。有人知道如何使用反射来实现这一点吗?namespaceThings{classProgram{publicclassThing{publicstringSome;publics

c# - 使用反射查找实现的接口(interface)

我有以下情况:publicinterfaceIPerson{..}publicclassPerson:IPerson{..}publicclassUser:Person{..}现在;如果我有一个“用户”对象——我如何检查它是否使用反射实现了IPerson?更准确地说,我有一个对象可能有一个属性SomeUser,它应该是实现接口(interface)“IPerson”的某种类型。在我的例子中,我实际上有一个用户,但这是我想通过反射检查的。我不知道如何检查属性类型,因为它是一个“用户”,但我想检查它是否实现了IPerson...:varcontrol=_container.Resolve(

c# - 使用反射查找实现的接口(interface)

我有以下情况:publicinterfaceIPerson{..}publicclassPerson:IPerson{..}publicclassUser:Person{..}现在;如果我有一个“用户”对象——我如何检查它是否使用反射实现了IPerson?更准确地说,我有一个对象可能有一个属性SomeUser,它应该是实现接口(interface)“IPerson”的某种类型。在我的例子中,我实际上有一个用户,但这是我想通过反射检查的。我不知道如何检查属性类型,因为它是一个“用户”,但我想检查它是否实现了IPerson...:varcontrol=_container.Resolve(

c# - 反射 MethodInfo.Invoke() 从方法内部捕获异常

我调用了MethodInfo.Invoke()以通过反射执行函数。该调用包含在try/catchblock中,但它仍然无法捕获我正在调用的函数抛出的异常。我收到以下消息:Exceptionwasunhandledbytheuser.为什么MethodInfo.Invoke()会阻止异常在Invoke()之外被捕获?我该如何绕过它? 最佳答案 编辑:据我了解您的问题,问题纯粹是一个IDE问题;您不喜欢VS将MethodInfo的调用引发的异常视为未捕获,但显然不是。您可以在此处阅读有关如何解决此问题的信息:WhyisTargetInv

c# - 反射 MethodInfo.Invoke() 从方法内部捕获异常

我调用了MethodInfo.Invoke()以通过反射执行函数。该调用包含在try/catchblock中,但它仍然无法捕获我正在调用的函数抛出的异常。我收到以下消息:Exceptionwasunhandledbytheuser.为什么MethodInfo.Invoke()会阻止异常在Invoke()之外被捕获?我该如何绕过它? 最佳答案 编辑:据我了解您的问题,问题纯粹是一个IDE问题;您不喜欢VS将MethodInfo的调用引发的异常视为未捕获,但显然不是。您可以在此处阅读有关如何解决此问题的信息:WhyisTargetInv

c# - 从基类反射(reflect)私有(private)字段

结构如下:我的类(class):超类(class)2父类(superclass)2:父类(superclass)1superClass2在Product.Web中,而SuperClass1在.NETSystem.Web程序集中我试图将一个值强加到SuperClass1上的私有(private)bool字段中。但无论我尝试什么,我都无法让字段从反射中返回。我将以下代码与不同的BindingFlag组合一起使用,但到目前为止没有任何效果。SuperClass1是一个抽象类。((SuperClass1)this).GetType().GetFields(System.Reflection.B